/*Funções javascript & jquery*/

var meses = new Array(12);
meses[0] = "janeiro";
meses[1] = "fevereiro";
meses[2] = "março";
meses[3] = "abril";
meses[4] = "maio";
meses[5] = "junho";
meses[6] = "julho";
meses[7] = "agosto";
meses[8] = "setembro";
meses[9] = "outubro";
meses[10] = "novembro";
meses[11] = "dezembro";

var dia_da_semana = new Array(7);
dia_da_semana[0] = "domingo";
dia_da_semana[1] = "segunda";
dia_da_semana[2] = "terça";
dia_da_semana[3] = "quarta";
dia_da_semana[4] = "quinta";
dia_da_semana[5] = "sexta";
dia_da_semana[6] = "sábado";

var ids_calendario = new Array();
ids_calendario[0] = "#domingo_semana";
ids_calendario[1] = "#segunda_semana";
ids_calendario[2] = "#terca_semana";
ids_calendario[3] = "#quarta_semana";
ids_calendario[4] = "#quinta_semana";
ids_calendario[5] = "#sexta_semana";
ids_calendario[6] = "#sabado_semana";
ids_calendario[7] = "#domingo_semana";
ids_calendario[8] = "#segunda_semana";
ids_calendario[9] = "#terca_semana";
ids_calendario[10] = "#quarta_semana";
ids_calendario[11] = "#quinta_semana";
ids_calendario[12] = "#sexta_semana";
ids_calendario[13] = "#sabado_semana";
ids_calendario[14] = "#domingo_semana";
ids_calendario[15] = "#segunda_semana";
ids_calendario[16] = "#terca_semana";
ids_calendario[17] = "#quarta_semana";
ids_calendario[18] = "#quinta_semana";
ids_calendario[19] = "#sexta_semana";
ids_calendario[20] = "#sabado_semana";
ids_calendario[21] = "#domingo_semana";
ids_calendario[22] = "#segunda_semana";
ids_calendario[23] = "#terca_semana";
ids_calendario[24] = "#quarta_semana";
ids_calendario[25] = "#quinta_semana";
ids_calendario[26] = "#sexta_semana";
ids_calendario[27] = "#sabado_semana";
ids_calendario[28] = "#domingo_semana";
ids_calendario[29] = "#segunda_semana";
ids_calendario[30] = "#terca_semana";
ids_calendario[31] = "#quarta_semana";
ids_calendario[32] = "#quinta_semana";
ids_calendario[33] = "#sexta_semana";
ids_calendario[34] = "#sabado_semana";
ids_calendario[35] = "#domingo_semana";
ids_calendario[36] = "#segunda_semana";
ids_calendario[37] = "#terca_semana";
ids_calendario[38] = "#quarta_semana";
ids_calendario[39] = "#quinta_semana";
ids_calendario[40] = "#sexta_semana";
ids_calendario[41] = "#sabado_semana";

/*

function mudar_mes(antes_depois) {
	var mes_actual_funcao = getMesActual();
	var ano_funcao = getAnoActual();

	if (antes_depois == "mes_anterior") {
		var mes_a_meter = mes_actual_funcao - 1;

		if (mes_a_meter == -1) {
			mes_a_meter = 11;
			ano_funcao = ano_funcao - 1;
		}

		setMesActual(mes_a_meter);
		setAnoActual(ano_funcao);

		var string_mes = meses[mes_a_meter] + "/" + ano_funcao;
		$('#mes_actual').html(string_mes);

		var temp_data = new Date(ano_funcao, mes_a_meter, 1);

		var dia_semana_onde_iniciar = temp_data.getDay();
		var dias_mes_anterior = diasNoMes((mes_a_meter - 1), ano_funcao);
		var dias_mes_actual = diasNoMes(mes_a_meter, ano_funcao);

		preencher_calendario(dia_semana_onde_iniciar, dias_mes_anterior, dias_mes_actual, 0, mes_a_meter, ano_funcao);

	}

	if (antes_depois == "mes_seguinte") {
		var mes_a_meter = mes_actual_funcao + 1;

		if (mes_a_meter == 12) {
			mes_a_meter = 0;
			ano_funcao = ano_funcao + 1;
		}

		setMesActual(mes_a_meter);
		setAnoActual(ano_funcao);

		var string_mes = meses[mes_a_meter] + "/" + ano_funcao;
		$('#mes_actual').html(string_mes);

		var temp_data = new Date(ano_funcao, mes_a_meter, 1);

		var dia_semana_onde_iniciar = temp_data.getDay();
		var dias_mes_anterior = diasNoMes((mes_a_meter - 1), ano_funcao);
		var dias_mes_actual = diasNoMes(mes_a_meter, ano_funcao);

		preencher_calendario(dia_semana_onde_iniciar, dias_mes_anterior, dias_mes_actual, 0, mes_a_meter, ano_funcao);

	}

}

function mudar_mes_mini(antes_depois) {
	var mes_actual_funcao = getMesActual();
	var ano_funcao = getAnoActual();

	if (antes_depois == "mes_anterior_mini") {
		var mes_a_meter = mes_actual_funcao - 1;

		if (mes_a_meter == -1) {
			mes_a_meter = 11;
			ano_funcao = ano_funcao - 1;
		}

		setMesActual(mes_a_meter);
		setAnoActual(ano_funcao);

		var string_mes = meses[mes_a_meter] + "/" + ano_funcao;
		$('#mes_actual_mini').html(string_mes);

		var temp_data = new Date(ano_funcao, mes_a_meter, 1);

		var dia_semana_onde_iniciar = temp_data.getDay();
		var dias_mes_anterior = diasNoMes((mes_a_meter - 1), ano_funcao);
		var dias_mes_actual = diasNoMes(mes_a_meter, ano_funcao);

		preencher_calendario_mini(dia_semana_onde_iniciar, dias_mes_anterior, dias_mes_actual, 0, mes_a_meter, ano_funcao);

	}

	if (antes_depois == "mes_seguinte_mini") {
		var mes_a_meter = mes_actual_funcao + 1;

		if (mes_a_meter == 12) {
			mes_a_meter = 0;
			ano_funcao = ano_funcao + 1;
		}

		setMesActual(mes_a_meter);
		setAnoActual(ano_funcao);

		var string_mes = meses[mes_a_meter] + "/" + ano_funcao;
		$('#mes_actual_mini').html(string_mes);

		var temp_data = new Date(ano_funcao, mes_a_meter, 1);

		var dia_semana_onde_iniciar = temp_data.getDay();
		var dias_mes_anterior = diasNoMes((mes_a_meter - 1), ano_funcao);
		var dias_mes_actual = diasNoMes(mes_a_meter, ano_funcao);

		preencher_calendario_mini(dia_semana_onde_iniciar, dias_mes_anterior, dias_mes_actual, 0, mes_a_meter, ano_funcao);

	}

}

function mes_login() {
	var data = new Date();

	var mes_agora = data.getMonth();
	var ano_agora = data.getFullYear();
	var dia_agora = data.getDate();

	setMesActual(mes_agora);
	setAnoActual(ano_agora);

	var string_mes = meses[mes_agora] + "/" + ano_agora;
	$('#mes_actual').html(string_mes);

	var temp_data = new Date(ano_agora, mes_agora, 1);

	var dia_semana_onde_iniciar = temp_data.getDay();
	var dias_mes_anterior = diasNoMes((mes_agora - 1), ano_agora);
	var dias_mes_actual = diasNoMes(mes_agora, ano_agora);

	preencher_calendario(dia_semana_onde_iniciar, dias_mes_anterior, dias_mes_actual, dia_agora, mes_agora, ano_agora);
}

function mes_login_mini() {
	var data = new Date();

	var mes_agora = data.getMonth();
	var ano_agora = data.getFullYear();
	var dia_agora = data.getDate();

	setMesActual(mes_agora);
	setAnoActual(ano_agora);

	var string_mes = meses[mes_agora] + "/" + ano_agora;
	$('#mes_actual_mini').html(string_mes);

	var temp_data = new Date(ano_agora, mes_agora, 1);

	var dia_semana_onde_iniciar = temp_data.getDay();
	var dias_mes_anterior = diasNoMes((mes_agora - 1), ano_agora);
	var dias_mes_actual = diasNoMes(mes_agora, ano_agora);

	preencher_calendario_mini(dia_semana_onde_iniciar, dias_mes_anterior, dias_mes_actual, dia_agora, mes_agora, ano_agora);
}

function avaliacoes_coordenador(dia, mes, ano) {

	var momentos_avaliacoes = getXMLAvaliacoes();
	var disciplinas = getXMLDisciplinas();

	var ano_semestre = calcular_ano_actual();
	var ano_letivo_atual = ano_semestre[0];
	var semestre_atual = ano_semestre[1];

	var sigla = "";
	var percentagem = "";

	var aval = "";

	var $avaliacoes_cursos = $(momentos_avaliacoes).find('curso');
	var $avaliacoes_curso = null;

	$avaliacoes_cursos.each(function() {
		var $curso = $(this);
		var curso_xml_avals = $curso.attr("cod_curso");

		if (getCodCurso() == curso_xml_avals) {

			$curso.find('ano_letivo').each(function() {
				var $ano = $(this);

				var ano_lectivo_xml = $ano.attr('ano_letivo');

				$ano.find('semestre').each(function() {
					var $semestre = $(this);

					var semestre_xml = $semestre.attr("semestre");
					var semestre_str = 'par';

					if (semestre_xml == '1')
					{
						semestre_str = 'impar';
					}

					if (ano_lectivo_xml == ano_letivo_atual && semestre_atual == semestre_str) {

						$avaliacoes_curso = $semestre;

					}

				});

			});

		}
	});

	if ($avaliacoes_curso != null) {

		$avaliacoes_curso.find('momento').each(function() {

			var $momento = $(this);
			var cod_momento = $momento.attr('cod');

			var cod_uc = $momento.find('uc').text();

			$(disciplinas).find('curso').each(function() {
				var $curso = $(this);

				var cod_curso_xml = $curso.attr('cod_curso');

				if (cod_curso_xml == getCodCurso()) {

					$curso.find("disciplina").each(function() {

						var $disciplina = $(this);

						var cod_disciplina = $disciplina.attr('cod_disciplina');

						if (cod_disciplina == cod_uc) {
							var $data_avaliacao = $momento.find("data");

							var dia_xml = $data_avaliacao.find("dia").text();
							var mes_xml = $data_avaliacao.find("mes").text();
							var ano_xml = $data_avaliacao.find("ano").text();

							if (dia.toString() == dia_xml && mes.toString() == mes_xml && ano.toString() == ano_xml) {
								sigla = $disciplina.attr("sigla");
								percentagem = $momento.find("percentagem").text();

								if (aval == '') {
									aval = sigla.concat(' (').concat(percentagem).concat(')');
								} else {

									var aval_temp = sigla.concat(' (').concat(percentagem).concat(')');
									var antes = aval;
									aval = antes.concat(' | ').concat(aval_temp);

								}
							}
						}
					});
				}
			});

		});
	}
	
	return aval;

}

function avaliacoes_aluno(dia, mes, ano) {

	var momentos_avaliacoes = getXMLAvaliacoes();
	var inscricoes = getXMLInscricoes();
	var disciplinas = getXMLDisciplinas();

	var ano_semestre = calcular_ano_actual();
	var ano_letivo_atual = ano_semestre[0];
	var semestre_atual = ano_semestre[1];

	var sigla = "";
	var percentagem = "";

	var aval = "";

	var $avaliacoes_cursos = $(momentos_avaliacoes).find('curso');
	var $avaliacoes_curso = null;

	$avaliacoes_cursos.each(function() {
		var $curso = $(this);
		var curso_xml_avals = $curso.attr("cod_curso");

		if (getCodCurso() == curso_xml_avals) {

			$curso.find('ano_letivo').each(function() {
				var $ano = $(this);

				var ano_lectivo_xml = $ano.attr('ano_letivo');

				$ano.find('semestre').each(function() {
					var $semestre = $(this);

					var valor_semestre_xml_disciplinas = $semestre.attr("semestre");
					var estado_avals = $semestre.attr("estado");

					var semestre_xml_disciplinas = 'par';

					if (valor_semestre_xml_disciplinas == '1')
					{
						semestre_xml_disciplinas = 'impar';
					}
						
					if (ano_lectivo_xml == ano_letivo_atual && semestre_atual == semestre_xml_disciplinas && estado_avals == "aprovado") {
						$avaliacoes_curso = $semestre;
					}

				});

			});

		}
	});

	if ($avaliacoes_curso != null) {

		$avaliacoes_curso.find('momento').each(function() {

			var $momento = $(this);
			var cod_momento = $momento.attr('cod');

			var cod_uc = $momento.find('uc').text();

			$(inscricoes).find("inscrição").each(function() {

				var $inscricao = $(this);

				var cod_utilizador = $inscricao.attr("cod_aluno");

				if (cod_utilizador == getIdUtilizador()) {
					$inscricao.find("ano_letivo").each(function() {

						var $ano_letivo = $(this);

						var ano_letivo = $ano_letivo.attr("ano");

						if (ano_letivo == ano_letivo_atual) {
							$ano_letivo.find("disciplina").each(function() {
								var $disciplina = $(this);

								var cod_uc_inscricao = $disciplina.attr("cod_disciplina");

								if (cod_uc == cod_uc_inscricao) {
									$(disciplinas).find('curso').each(function() {
										var $curso = $(this);

										var cod_curso_xml = $curso.attr('cod_curso');

										if (cod_curso_xml == getCodCurso()) {

											$curso.find("disciplina").each(function() {

												var $disciplina = $(this);

												var cod_disciplina = $disciplina.attr('cod_disciplina');

												if (cod_disciplina == cod_uc) {
													var $data_avaliacao = $momento.find("data");

													var dia_xml = $data_avaliacao.find("dia").text();
													var mes_xml = $data_avaliacao.find("mes").text();
													var ano_xml = $data_avaliacao.find("ano").text();

													if (dia.toString() == dia_xml && mes.toString() == mes_xml && ano.toString() == ano_xml) {
														sigla = $disciplina.attr("sigla");
														percentagem = $momento.find("percentagem").text();

														if (aval == '') {
															aval = sigla.concat(' (').concat(percentagem).concat(')');
														} else {

															var aval_temp = sigla.concat(' (').concat(percentagem).concat(')');
															var antes = aval;
															aval = antes.concat(' | ').concat(aval_temp);

														}
													}
												}
											});
										}
									});
								}
							});

						}

					});
				}

			});

		});

	}
	return aval;
}

function tipo_dia(dia, mes, ano) {
	var calendario = getXMLCalendario();

	var dia_return = null;

	$(calendario).find("mes").each(function() {

		var $mes_xml = $(this);

		var numero_mes_xml = $mes_xml.attr('numero');
		var numero_ano_xml = $mes_xml.attr('ano');

		if (numero_mes_xml == mes.toString() && numero_ano_xml == ano.toString()) {
			$mes_xml.find('dia').each(function() {

				var $dia_xml = $(this);
				var $valor_dia_xml = $dia_xml.text();

				if ($valor_dia_xml == dia.toString()) {
					dia_return = $dia_xml.attr('letra');
				}

			});
		}

	});

	if (dia_return == null) {
		dia_return = dia;
	}

	return dia_return;
}

function diasNoMes(mes, ano) {
	return new Date(ano, mes + 1, 0).getDate();
}

function preencher_calendario(dia_semana_iniciar, dias_mes_anterior, dias_mes_actual, dia_in, mes_in, ano_in) {

	var contador_semana = 1;
	var contador_dias = 1;
	var desconto = dia_semana_iniciar - 1;
	var temp_mes_actual = 1;
	var temp_mes_seguinte = 1;

	var tipo_utilizador = getTipoUtilizador();

	$.each(ids_calendario, function(index, item) {

		if (index < dia_semana_iniciar) {
			var dia_temp = dias_mes_anterior - desconto;
			var mes_temp = mes_in - 1;
			var ano_temp = ano_in;
			var dia_calendario = tipo_dia(dia_temp, mes_temp, ano_temp);

			var posicao_calendario_dia = item.concat("_").concat(contador_semana.toString()).concat("_dia");
			var posicao_calendario_teste = item.concat("_").concat(contador_semana.toString()).concat("_teste");
			var posicao_calendario_dia_semana = item.concat("_").concat(contador_semana.toString());

			var teste = "";

			if (tipo_utilizador == "aluno") {
				teste = avaliacoes_aluno(dia_temp, mes_temp + 1, ano_temp, utilizador);
			} 
			else
			{
				teste = avaliacoes_coordenador(dia_temp, mes_temp + 1, ano_temp);
			}

			$(posicao_calendario_dia).html(dia_calendario);
			$(posicao_calendario_teste).html(teste);
			$(posicao_calendario_dia_semana).css({
				'background-color' : '#E5E5E5'
			});

			desconto--;

		} else {
			if (temp_mes_actual <= dias_mes_actual) {
				var dia_temp = temp_mes_actual;
				var mes_temp = mes_in;
				var ano_temp = ano_in;
				var dia_calendario = tipo_dia(dia_temp, mes_temp, ano_temp);

				var posicao_calendario_dia = item.concat("_").concat(contador_semana.toString()).concat("_dia");
				var posicao_calendario_teste = item.concat("_").concat(contador_semana.toString()).concat("_teste");
				var posicao_calendario_dia_semana = item.concat("_").concat(contador_semana.toString());

				var teste = "";

				if (tipo_utilizador == "aluno") {
					teste = avaliacoes_aluno(dia_temp, mes_temp + 1, ano_temp, utilizador);
				}
				
				else {
					teste = avaliacoes_coordenador(dia_temp, mes_temp + 1, ano_temp);
			    }

				$(posicao_calendario_dia).html(dia_calendario);
				$(posicao_calendario_teste).html(teste);
				if (contador_dias == 1 || contador_dias == 7) {
					// não faz nada
				} else {
					$(posicao_calendario_dia_semana).css({
						'background-color' : 'white'
					});
				}

				temp_mes_actual++;

			} else {
				var dia_temp = temp_mes_seguinte;
				var mes_temp = mes_in + 1;
				var ano_temp = ano_in;
				var dia_calendario = tipo_dia(dia_temp, mes_temp, ano_temp);

				var posicao_calendario_dia = item.concat("_").concat(contador_semana.toString()).concat("_dia");
				var posicao_calendario_teste = item.concat("_").concat(contador_semana.toString()).concat("_teste");
				var posicao_calendario_dia_semana = item.concat("_").concat(contador_semana.toString());

				var teste = "";

				if (tipo_utilizador == "aluno") {
					teste = avaliacoes_aluno(dia_temp, mes_temp + 1, ano_temp, utilizador);
				}
				
				else {
					teste = avaliacoes_coordenador(dia_temp, mes_temp + 1, ano_temp);
				}

				$(posicao_calendario_dia).html(dia_calendario);
				$(posicao_calendario_teste).html(teste);
				$(posicao_calendario_dia_semana).css({
					'background-color' : '#E5E5E5'
				});

				temp_mes_seguinte++;

			}
		}

		if (contador_dias == 7) {
			contador_semana++;
			contador_dias = 1;
		} else {
			contador_dias++;
		}

	});
}

function preencher_calendario_mini(dia_semana_iniciar, dias_mes_anterior, dias_mes_actual, dia_in, mes_in, ano_in) {

	var contador_semana = 1;
	var contador_dias = 1;
	var desconto = dia_semana_iniciar - 1;
	var temp_mes_actual = 1;
	var temp_mes_seguinte = 1;

	var tipo_utilizador = getTipoUtilizador();

	$.each(ids_calendario, function(index, item) {

		if (index < dia_semana_iniciar) {
			var dia_temp = dias_mes_anterior - desconto;
			var mes_temp = mes_in - 1;
			var ano_temp = ano_in;
			var dia_calendario = tipo_dia(dia_temp, mes_temp, ano_temp);

			var posicao_calendario = item.concat("_").concat(contador_semana.toString()).concat("_mini");

			var teste = "";

			teste = avaliacoes_coordenador(dia_temp, mes_temp + 1, ano_temp);

			$(posicao_calendario).html(dia_calendario);

			$(posicao_calendario).css({
				'background-color' : '#E5E5E5'
			});

			if (teste != '') {
				$(posicao_calendario).css({
					'background-color' : 'yellow'
				});
			}

			desconto--;

		} else {
			if (temp_mes_actual <= dias_mes_actual) {
				var dia_temp = temp_mes_actual;
				var mes_temp = mes_in;
				var ano_temp = ano_in;
				var dia_calendario = tipo_dia(dia_temp, mes_temp, ano_temp);

				var posicao_calendario = item.concat("_").concat(contador_semana.toString()).concat("_mini");

				var teste = "";

				teste = avaliacoes_coordenador(dia_temp, mes_temp + 1, ano_temp);

				$(posicao_calendario).html(dia_calendario);

				if (contador_dias == 1 || contador_dias == 7) {
					// não faz nada
				} else {
					$(posicao_calendario).css({
						'background-color' : 'white'
					});
				}

				if (teste != '') {
					$(posicao_calendario).css({
						'background-color' : 'yellow'
					});
				}

				temp_mes_actual++;

			} else {
				var dia_temp = temp_mes_seguinte;
				var mes_temp = mes_in + 1;
				var ano_temp = ano_in;
				var dia_calendario = tipo_dia(dia_temp, mes_temp, ano_temp);

				var posicao_calendario = item.concat("_").concat(contador_semana.toString()).concat("_mini");
				
				var teste = "";

				teste = avaliacoes_coordenador(dia_temp, mes_temp + 1, ano_temp);

				$(posicao_calendario).html(dia_calendario);

				$(posicao_calendario).css({
					'background-color' : '#E5E5E5'
				});

				if (teste != '') {
					$(posicao_calendario).css({
						'background-color' : 'yellow'
					});
				}

				temp_mes_seguinte++;

			}
		}

		if (contador_dias == 7) {
			contador_semana++;
			contador_dias = 1;
		} else {
			contador_dias++;
		}

	});
}


$(document).on("click", ".botoes_navegacao_mes", function() {
	
	var butao_clicado = $(this).attr("id");

	mudar_mes(butao_clicado);

});

$(document).on("click", ".botoes_navegacao_mes_mini", function() {
	
	var butao_clicado = $(this).attr("id");

	mudar_mes_mini(butao_clicado);

});


$(function() {
	$("#datepicker").datepicker({
		dateFormat : "dd-mm-yy"
	});
});

$(function() {
	$("#datepicker_regras").datepicker({
		dateFormat : "dd-mm-yy"
	});
});
*/